package com.saint.farmshop.Service;

import com.saint.farmshop.Entity.Production;
import com.saint.farmshop.Entity.ProductionDetail;
import com.saint.farmshop.Entity.ProductionSecondType;
import com.saint.farmshop.Entity.ProductionType;
import com.saint.farmshop.Utils.Result;

import java.util.List;

/**
 * 产品服务类
 *
 * @author Saint
 * @date 2022/05/23
 */
public interface ProductionService {

    /**
     * 获取分类下面的商品列表
     *
     * @param productionSecondType 二级分类
     * @param pageIndex 当前页数
     * @param pageSize 分页大小
     * @return 返回商品列表
     */
    List<Production> getProductionByType(ProductionSecondType productionSecondType,Integer pageIndex,Integer pageSize);

    /**
     * 获取个人卖家下商品列表
     *
     * @param openId 用户openId
     * @param pageIndex 当前页数
     * @param pageSize 分页大小
     * @return 返回商品列表
     */
    List<Production> getProductionByOpenId(String openId,Integer pageIndex,Integer pageSize);

    /**
     * 发布商品
     *
     * @param productionDetail 要发布的商品
     * @return 返回执行结果
     */
    Result releaseProduction(ProductionDetail productionDetail);

    /**
     * 删除商品
     * @param productionDetail 要删除的商品
     * @return 返回执行结果
     */
    Result deleteProduction(ProductionDetail productionDetail);

    /**
     * 获取首页商品列表
     * @param pageIndex 页码
     * @param pageSize 页面大小
     * @return 返回商品列表
     */
    List<Production> getProductionList(Integer pageIndex,Integer pageSize);
}
